using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.InputSystem;
using Cysharp.Threading.Tasks;

public abstract class Skill 
{
    public SkillData SkillData { get; private set; }

    public bool IsCoolDown;

    public abstract void SkillAlgorithm();

    public void AddInputEventCallback(InputAction.CallbackContext callback)
    {
        SkillAlgorithm();
    }

    public async UniTaskVoid TransCoolDown()
    {
        IsCoolDown = true;

        await UniTask.Delay(TimeSpan.FromSeconds(SkillData.CoolDown));

        IsCoolDown = false;
    }
}
